//
//                           SimuLTE
//
// This file is part of a software released under the license included in file
// "license.pdf". This license can be also found at http://www.ltesimulator.com/
// The above file and the present reference are part of the software itself,
// and cannot be removed from it.
//

cplusplus {{
    using namespace omnetpp;
}}

//
// This is the MAC message flowing through LTE stack.
//
packet LteMacPdu
{
    @customize(true);
    abstract cPacket sdu[];
    unsigned int headerLength = 0;
    // need separate macPduId (e.g. for feedback packets) since OMNET PDU id is automatically updated
    // whenever a new packet is created, e.g. when this PDU is duplicated
    long macPduId = 0;

    //#
    //# Follows a list of elements only present in
    //# the customized class (see LteMacPdu.h):
    //#
    //# MacSduList sduList;
    //# MacControlElementsList ceList;
    //#
}

//
// Mac Control Element
//
class MacControlElement
{
    double timestamp;
}

//
// Mac Buffer Status Report
//
class MacBsr extends MacControlElement
{
    int size;
}
